package main

import "fmt"

func main() {
	//第九章：go语言的映射map
	//定义一个map
	map1 := map[int]string{1: "张三", 2: "李四", 3: "王五"}
	fmt.Println(map1)

	//获取map1的长度
	fmt.Println("map的长度", len(map1))

	//遍历
	for key, value := range map1 {
		fmt.Printf("key=%d,value=%s\n", key, value)
	}

	//加深难度
	//定义一个map
	map2 := make(map[int]map[int]string)
	map2[1] = make(map[int]string)
	map2[1][1] = "张三"
	map2[1][2] = "李四"
	map2[1][3] = "王五"
	fmt.Println(map2)
	//获取map2的长度
	fmt.Println("map2的长度", len(map2))
	//遍历
	for key, value := range map2 {
		fmt.Printf("key=%d,value=%v\n", key, value)
		for key2, value2 := range value {
			fmt.Printf("key2=%d,value2=%s\n", key2, value2)
		}
	}
	map2[2] = make(map[int]string)
	map2[2][1] = "赵六"
	map2[2][2] = "孙七"
	map2[2][3] = "周八"
	fmt.Println(map2)
	//获取map2的长度
	fmt.Println("map2的长度", len(map2))
	//遍历
	for key, value := range map2 {
		fmt.Printf("key=%d,value=%v\n", key, value)
		for key2, value2 := range value {
			fmt.Printf("key2=%d,value2=%s\n", key2, value2)
		}
	}
}
